//**********************************
// AbstractUser Class
// TCSS 360 project
// SuperGroup
//**********************************

package superConference;

/**
 * The AbstractUser to reduce code in every user type
 * @author Oscar Hong
 */
public abstract class AbstractUser implements User {
	/**
	 * The user's ID.
	 */
	protected int userID;
	
	/**
	 * The user's email.
	 */
	protected String email;
	
	/**
	 * The user's name.
	 */
	protected String name;
	
	/**
	 * Constructor of an abstract user.
	 * @param userID the user's ID
	 * @param email the user's email
	 * @param name the user's name
	 */
	AbstractUser(int userID, String email, String name) {
		this.userID = userID;
		this.email = email;
		this.name = name;
	}
	
	public int getUserID() {
		return userID;
	}
	
	public String getEmail() {
		return email;
	}
	
	public String getName() {
		return name;
	}
	
	public String toString() {
		StringBuilder sb = new StringBuilder();
		sb.append(userID);
		sb.append("\t");
		sb.append(name);
		sb.append("\t");
		sb.append(email);
		return sb.toString();
	}
}
